//package com.alibaba.otter.manager.web.properties;
//
//import com.alibaba.otter.manager.biz.autoconfigure.OtterPropertySourceFactory;
//import lombok.Getter;
//import lombok.Setter;
//import org.springframework.beans.factory.BeanClassLoaderAware;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.boot.jdbc.DataSourceBuilder;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.context.annotation.PropertySource;
//
//@Getter
//@Configuration
//@PropertySource(value = "classpath:otter.properties", factory = OtterPropertySourceFactory.class)
//@ConfigurationProperties(prefix = "otter.database.driver",ignoreInvalidFields = true)
//public class OtterDatasourceProperties implements BeanClassLoaderAware {
//
//    /**
//     * 最大连接数
//     */
//    public final static int DEFAULT_MAX_POOL_SIZE = 20;
//
//    /**
//     * 最大超时时间
//     */
//    public final static int DEFAULT_CONNECTION_TIMEOUT = 600000;
//
//    public final static int DEFAULT_MIN_IDLE = 1;
//
//    public final static int DEFAULT_MAX_LIFE_TIME = 600000;
//
//    public final static int DEFAULT_IDLE_TIMEOUT = 60000;
//
//
//    @Setter
//    private String className;
//
//    @Setter
//    private String url;
//
//    @Setter
//    private String userName;
//
//    @Setter
//    private String password;
//
//    private ClassLoader classLoader;
//
//
//    public  DataSourceBuilder<?> initializeDataSourceBuilder() {
//        return DataSourceBuilder.create(getClassLoader()).driverClassName(getClassName())
//                .url(getUrl()).username(getUserName()).password(getPassword());
//    }
//
//    @Override
//    public void setBeanClassLoader(ClassLoader classLoader) {
//        this.classLoader = classLoader;
//    }
//}
